﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DX11Engine.PlugIns
{
    [Flags]
    enum GilesVertexData
    { 
        VertexNormals = 1,
        BaseVertexRGBA = 2,
        VertexLight = 4,
        LM_UV = 8,
        TX_UV = 16
    }

    enum GilesChunks
    {
        GLS_HEADER = 0xFFFF,
        GLS_AUTHOR = 0xF000,

        GLS_MODELS = 0x1000,
        GLS_MODEL = 0x1001,
        GLS_MODEL_NAME = 0x1002,
        GLS_MODEL_POSITION = 0x1003,
        GLS_MODEL_ROTATION = 0x1004,
        GLS_MODEL_SCALE = 0x1005,
        GLS_MODEL_CUSTOMPROPS = 0x1006,
        GLS_MODEL_FILE = 0x1007,
        GLS_MODEL_HIDDEN = 0x1008,

        GLS_MESH = 0x2000,
        GLS_MESH_OVERRIDE = 0x2001,
        GLS_MESH_BACKLIGHT = 0x2002,
        GLS_MESH_RECEIVESHADOW = 0x2003,
        GLS_MESH_CASTSHADOW = 0x2004,
        GLS_MESH_RECEIVEGI = 0x2005,
        GLS_MESH_AFFECTGI = 0x2006,

        GLS_MESH_SURFACES = 0x2100,
        GLS_MESH_SURF = 0x2101,
        GLS_MESH_SURFVERTS = 0x2102,
        GLS_MESH_SURFPOLYS = 0x2103,
        GLS_MESH_SURFMATERIAL = 0x2104,
        GLS_MESH_SURFVERTFORMAT = 0x2105,
        GLS_MESH_SURFVERTDATA = 0x2106,
        GLS_MESH_SURFPOLYDATA = 0x2107,

        GLS_PIVOT = 0x3000,

        GLS_LIGHT = 0x4000,
        GLS_LIGHT_TYPE = 0x4001,
        GLS_LIGHT_ACTIVE = 0x4002,
        GLS_LIGHT_CASTSHADOWS = 0x4003,
        GLS_LIGHT_INFINITE = 0x4004,
        GLS_LIGHT_OVERSHOOT = 0x4005,
        GLS_LIGHT_RADIUS = 0x4006,
        GLS_LIGHT_RED = 0x4007,
        GLS_LIGHT_GREEN = 0x4008,
        GLS_LIGHT_BLUE = 0x4009,
        GLS_LIGHT_INTENSITY = 0x400A,
        GLS_LIGHT_NEAR = 0x400B,
        GLS_LIGHT_FAR = 0x400C,
        GLS_LIGHT_INNER = 0x400D,
        GLS_LIGHT_OUTER = 0x400E,
        GLS_LIGHT_TOON = 0x400F,
        GLS_LIGHT_TOONLEVELS = 0x4010,

        GLS_MATERIALS = 0x5000,
        GLS_MAT = 0x5001,
        GLS_MAT_NAME = 0x5002,
        GLS_MAT_RED = 0x5003,
        GLS_MAT_GREEN = 0x5004,
        GLS_MAT_BLUE = 0x5005,
        GLS_MAT_ALPHA = 0x5006,
        GLS_MAT_SELFILLUMINATION = 0x5007,
        GLS_MAT_SHININESS = 0x5008,
        GLS_MAT_FX = 0x5009,
        GLS_MAT_BLEND = 0x500A,
        GLS_MAT_LIGHTMETHOD = 0x500B,
        GLS_MAT_LIGHTMAP = 0x500C,
        GLS_MAT_RECEIVEBACK = 0x500D,
        GLS_MAT_RECEIVESHADOW = 0x500E,
        GLS_MAT_CASTSHADOW = 0x500F,
        GLS_MAT_RECEIVEGI = 0x5010,
        GLS_MAT_AFFECTGI = 0x5011,
        GLS_MAT_TEXLAYER = 0x5012,

        GLS_TEXTURES = 0x6000,
        GLS_TEX = 0x6001,
        GLS_TEX_FILE = 0x6002,
        GLS_TEX_SCALEU = 0x6003,
        GLS_TEX_SCALEV = 0x6004,
        GLS_TEX_OFFSETU = 0x6005,
        GLS_TEX_OFFSETV = 0x6006,
        GLS_TEX_ANGLE = 0x6007,
        GLS_TEX_FLAGS = 0x6008,
        GLS_TEX_BLEND = 0x6009,
        GLS_TEX_COORDSET = 0x600A,

        GLS_LIGHTMAPS = 0x7000,
        GLS_LMAP = 0x7001,
        GLS_LMAP_NAME = 0x7002,
        GLS_LMAP_FILE = 0x7003,
        GLS_LMAP_WIDTH = 0x7004,
        GLS_LMAP_HEIGHT = 0x7005,
        GLS_LMAP_NONUNIFORM = 0x7006,
        GLS_LMAP_USECUSTOMTEXEL = 0x7007,
        GLS_LMAP_CUSTOMTEXEL = 0x7008,
        GLS_LMAP_REPACK = 0x7009,
        GLS_LMAP_DATA = 0x700A,

        GLS_RENDER = 0x8000,
        GLS_RENDER_CLEARBEFORERENDER = 0x8001,
        GLS_RENDER_DIRENABLE = 0x8002,
        GLS_RENDER_GIENABLE = 0x8003,
        GLS_RENDER_RAYBIAS = 0x8004,
        GLS_RENDER_DIRMULTIPLY = 0x8005,
        GLS_RENDER_DIRBACKSHAD = 0x8006,
        GLS_RENDER_DIRSHADOWS = 0x8007,
        GLS_RENDER_DIRSOFT = 0x8008,
        GLS_RENDER_DIRSOFTSAMPLES = 0x8009,
        GLS_RENDER_GIIGNORETEX = 0x800A,
        GLS_RENDER_GIITERATIONS = 0x800B,
        GLS_RENDER_GIDENSITY = 0x800C,
        GLS_RENDER_GISAMPLES = 0x800D,
        GLS_RENDER_GIMULTIPLY = 0x800E,
        GLS_RENDER_SKYENABLE = 0x800F,
        GLS_RENDER_SKYRED = 0x8010,
        GLS_RENDER_SKYGREEN = 0x8011,
        GLS_RENDER_SKYBLUE = 0x8012,
        GLS_RENDER_SKYMULTIPLY = 0x8013,
        GLS_RENDER_AUTOBLUR = 0x8014,
        GLS_RENDER_AUTOEXPAND = 0x8015,
        GLS_RENDER_AUTOBLURRADIUS = 0x8016
    }
}
